﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Enfasis_bl;
using DatabaseLibrary;

namespace Aplicacion_enfasis_profesional
{
    public partial class PrincipalForm : Form
    {
        int Id_usuario = 0;

        public PrincipalForm()
        {
            InitializeComponent();
        }

        private void Cargar_cuaderno()
        {
            List<cuaderno_enfasis> Lista = new cuadernoBs().Consultar_cuaderno(new cuaderno_enfasis() { });

            if (Lista.Count > 0)
            {
                Gv_cuadernos.DataSource = Lista;
                Gv_cuadernos.Columns["id_cuaderno"].ReadOnly = true;
                Gv_cuadernos.Columns["Txt_desc_cuaderno"].ReadOnly = true;
                Gv_cuadernos.Columns["fecha_creacion"].ReadOnly = true;

                Gv_cuadernos.Columns["Txt_desc_cuaderno"].Width = 150;

                Gv_cuadernos.Columns["estado"].Visible = false;
                Gv_cuadernos.Columns["id_usuario"].Visible = false;
                Lbl_mensaje.Visible = false;
            }
            else
            {
                Lbl_mensaje.Visible = true;
            }
        }

        private bool Validar_usuario()
        {
            bool respuesta = false;
            ValidarUsuarioForm Obj_ValidarUsuario = new ValidarUsuarioForm();
            Obj_ValidarUsuario.ShowDialog();
            respuesta = Obj_ValidarUsuario.Respuesta1;
            Id_usuario = Obj_ValidarUsuario.Id_usuario1;
            return respuesta;
        }

        private void consultar_cuaderno()
        {
            if (Validar_usuario())
            {
                List<cuaderno_enfasis> Lista = new cuadernoBs().Filtrar_cuaderno(new cuaderno_enfasis()
                {
                    estado = 1,
                    id_cuaderno = -1,
                    id_usuario = Id_usuario
                });

                if (Lista.Count > 0)
                {
                    Gv_cuadernos.DataSource = Lista;
                    Gv_cuadernos.Columns["id_cuaderno"].ReadOnly = true;
                    Gv_cuadernos.Columns["Txt_desc_cuaderno"].ReadOnly = true;
                    Gv_cuadernos.Columns["fecha_creacion"].ReadOnly = true;

                    Gv_cuadernos.Columns["Txt_desc_cuaderno"].Width = 150;

                    Gv_cuadernos.Columns["estado"].Visible = false;
                    Gv_cuadernos.Columns["id_usuario"].Visible = false;
                    Lbl_mensaje.Visible = false;
                }
                else
                {
                    Lbl_mensaje.Visible = true;
                }
            }
        }

        private void Agregar_cuaderno()
        {
            //Agregar cuaderno
            if (Validar_usuario())
            {
                CrearCuadernoForm Obj_CrearCuaderno = new CrearCuadernoForm(Id_usuario);
                Obj_CrearCuaderno.ShowDialog();
                Id_usuario = 0;
            }
        }

        private void Editar_cuaderno()
        {
            if (Gv_cuadernos.SelectedRows.Count > 0)
            {
                int id_cuaderno = int.Parse(Gv_cuadernos.SelectedRows[0].Cells["id_cuaderno"].Value.ToString());
                string nom_cuaderno = Gv_cuadernos.SelectedRows[0].Cells["Txt_desc_cuaderno"].Value.ToString();

                if (Validar_usuario())
                {
                    ActualizarCuadernoForm Obj_ActualizarCuaderno = new ActualizarCuadernoForm(Id_usuario, id_cuaderno, nom_cuaderno);
                    Obj_ActualizarCuaderno.ShowDialog();
                    id_cuaderno = 0;
                    nom_cuaderno = string.Empty;
                    Id_usuario = 0;
                }
            }
            else
            {
                MessageBox.Show("Seleccione el cuaderno a Editar", "Selección Obligatorio", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }

        private void Agregar_nota()
        {
            if (Gv_cuadernos.SelectedRows.Count > 0)
            {
                int id_cuaderno = int.Parse(Gv_cuadernos.SelectedRows[0].Cells["id_cuaderno"].Value.ToString());
                string nom_cuaderno = Gv_cuadernos.SelectedRows[0].Cells["Txt_desc_cuaderno"].Value.ToString();

                if (Validar_usuario())
                {
                    BusquedaNotasForm Obj_notas = new BusquedaNotasForm(id_cuaderno, nom_cuaderno);
                    Obj_notas.ShowDialog();

                    //AdministracionNotasForm Obj_admin_notas = new AdministracionNotasForm(id_cuaderno, nom_cuaderno);
                    //Obj_admin_notas.ShowDialog();
                }
            }
        }

        private void registrarToolStripMenuItem_Click(object sender, EventArgs e)
        {
            RegistrarUsuarioForm Obj_RegistrarUsuario = new RegistrarUsuarioForm();
            Obj_RegistrarUsuario.ShowDialog();
        }

        private void loginToolStripMenuItem_Click(object sender, EventArgs e)
        {
            ActualizarUsuario Obj_ActualizarUsuario = new ActualizarUsuario();
            Obj_ActualizarUsuario.ShowDialog();
        }

        private void Btn_agregar_Click(object sender, EventArgs e)
        {
            Agregar_cuaderno();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            Cargar_cuaderno();
        }

        private void Btn_salir_Click(object sender, EventArgs e)
        {
            this.Dispose();
            this.Close();
        }

        private void Btn_consultar_Click(object sender, EventArgs e)
        {
            Cargar_cuaderno();
        }

        private void Btn_filtrar_consulta_Click(object sender, EventArgs e)
        {
            consultar_cuaderno();
        }

        private void Btn_modificar_Click(object sender, EventArgs e)
        {
            //Editar cuaderno
            Editar_cuaderno();
        }

        private void Btn_agregar_nota_Click(object sender, EventArgs e)
        {
            Agregar_nota();
        }
    }
}
